package com.frejoys.service;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.frejoys.common.dto.ad.AdPageDto;
import com.frejoys.common.dto.admin.AdAddDto;
import com.frejoys.common.dto.admin.AdUpDto;
import com.frejoys.common.dto.admin.DelIdDto;
import com.frejoys.common.vo.ad.AdPageVo;
import com.frejoys.common.vo.ad.UserAdVo;
import com.frejoys.dao.entity.Ad;

import java.util.List;

public interface AdService extends IService<Ad> {


    default Ad getOnly(QueryWrapper<Ad> wrapper) {
        wrapper.last("limit 1");
        return this.getOne(wrapper);
    }

    default Ad getOnly(LambdaQueryWrapper<Ad> wrapper) {
        wrapper.last("limit 1");
        return this.getOne(wrapper);
    }

    /**
     * 获取信息
     * @param id
     * @return
     */
    Ad getInfo(Integer id);


    boolean addInfo(AdAddDto dto);
    boolean upInfo(AdUpDto dto);

    boolean delInfo(DelIdDto dto);

    /**
     * 后台查询广告
     */
    IPage<AdPageVo> pageListAd(AdPageDto dto);

    /**
     * 用户查询广告
     */
    List<UserAdVo> listAd();

    //获取广告图
    String getCover(Integer id);
}
